import { createRouter, createWebHistory } from 'vue-router'
import routes from './routes'
import {check_404} from "./routers_utils"

const router = createRouter({
  history: createWebHistory(process.env.BASE_URL),
  routes,
  scrollBehavior(to, from, savePosition) { 
    // 注意: 这个功能只在 HTML5 history 模式下可用。测试时发现除了history也可以用，奇怪
    // 在点击浏览器的“前进/后退”，或者切换导航的时候触发。
    // to：要进入的目标路由对象，到哪里去  from：离开的路由对象，哪里来 savePosition：会记录滚动条的坐标，点击前进/后退的时候记录值{x:?,y:?}
    if (savePosition && to.meta.keepAlive) {
      return savePosition
    } else {
      return { left: 0, top: 0 }
    }
  },
})

router.beforeEach((to,from,next)=>{
  if(!check_404(to.path,routes)){
      router.push("/404")
  }
  if(to.meta.requireAuth){
    const hash = to.hash
    if(!localStorage.getItem("token")){
      hash && router.push({path:"/resigter",hash:hash})
      hash || router.push({path:"/login"})
    }
  }

  // if(to.hash && to.path!='/resigter'){
  //   router.push({path:"/resigter",hash:to.hash})
  // }
  next()
})

export default router
